﻿<?php
/**
 * 账户充值-前台
 * @param merchant     要充值的帐号
 * @param total_fee    要充多少钱 单位为分
 * @param subject      订单描述 为空的话也会重新取
 */
//echo '<pre>';
//print_r($_POST);
//var_dump(uuid());
//echo '</pre>';
//exit;

header ( 'Content-type:text/html;charset=utf-8' );
error_reporting('E-ALL');
if(!$_SESSION['sid']){exit("<script>window.location='dlogin.html'</script>");}
/*支付时需要的参数生成地址什么的乱七八糟的东西*/
include_once './func/common.php';
include_once './func/SDKConfig.php';
include_once './func/secureUtil.php';
//include_once './func/log.class.php';

define('ROOT_PATH', '/var/www/html/');
require_once("/var/www/html/new/conf/le.je");
include(ROOT_PATH . "new/d/class/OrderRecord.php");
$le=new go_sql();
$le->connect();

//生成订单号
function uuid() {
    $uid=$_SESSION['sid'];
    $c=7-strlen($uid);
    $f=$c?rand(pow(10,($c-1)),(pow(10,$c)-1)):"";
    return uniqid($f.$uid);
}
$out_trade_no = uuid();
do{
    $has="";
    $out_trade_no=uuid();
    $sel="select id from pft_alipay_rec where out_trade_no='".$out_trade_no."' limit 1";
    $GLOBALS['le']->query($sel);
    $GLOBALS['le']->fetch_assoc();
    $has=$GLOBALS['le']->f("id");
}
while ($has);
$total_fee=($_POST["money"]+0);
// todo 传过来的金额单位是元 记到pft_alipay_rec里的单位也是元 但是银联要求的单位是分

/* ----------- 模拟数据写在这里 ---------*/
//$out_trade_no = 1240020;
//$total_fee = 240;
//goto one;

//订单描述
switch($_SESSION['dtype']){
    case 0:$dt="供应商";break;
    case 1:$dt="分销商";break;
    case 2:$dt="直接供应商";break;
    case 5:$dt="普通用户";break;
}
$subject = '票付通'.$dt.$_SESSION['dname'].'充值';

$merID = 802350173720081;
$uid=$_SESSION['sid'];
//sourceT=2 表示订单是通过银联支付的
    $str=<<<SQL
INSERT INTO pft_alipay_rec SET out_trade_no='$out_trade_no',
seller_email='$merID',buyer_email='$uid',
subject='$subject',total_fee='$total_fee',description='',
show_url='',sourceT=2
SQL;

$GLOBALS['le']->query($str);
$GLOBALS['le']->close();
//one:
$total_fee = $total_fee*100;
//echo $total_fee;exit;
$params = array(
		'version' => '5.0.0',				//版本号
		'encoding' => 'utf-8',				//编码方式
		'certId' => getSignCertId (),			//证书ID
		'txnType' => '01',				//交易类型	
		'txnSubType' => '01',				//交易子类
		'bizType' => '000201',				//业务类型
		'frontUrl' =>  SDK_FRONT_RECHARGE_NOTIFY_URL,//前台通知地址
		'backUrl' => SDK_RECHARGE_NOTIFY_URL,		//后台通知地址
		'signMethod' => '01',		//签名方法
		'channelType' => '08',		//渠道类型，07-PC，08-手机
		'accessType' => '0',		//接入类型
		'merId' => 802350173720081,//票付通的商户代码
		'orderId' => 'RECHARGE'.$out_trade_no,	//商户订单号
		'txnTime' => date('YmdHis'),	//订单发送时间
		'txnAmt' => $total_fee,		//交易金额，单位分
		'currencyCode' => '156',	//交易币种
		'defaultPayType' => '0001',	//默认支付方式	
		//'orderDesc' => '订单描述',  //订单描述，网关支付和wap支付暂时不起作用
		'reqReserved' =>' 透传信息', //请求方保留域，透传字段，查询、通知、对账文件中均会原样出现
		);


// 签名
sign( $params );
if($_GET['t']){
echo "<pre>";
print_r($params);exit;
}
// 前台请求地址
$front_uri = SDK_FRONT_TRANS_URL;
// $log->LogInfo ( "前台请求地址为>" . $front_uri );
// 构造 自动提交的表单
$html_form = create_html( $params, $front_uri );

// $log->LogInfo ( "-------前台交易自动提交表单>--begin----" );
// $log->LogInfo ( $html_form );
// $log->LogInfo ( "-------前台交易自动提交表单>--end-------" );
// $log->LogInfo ( "============处理前台请求 结束===========" );
echo $html_form;
